访问表中的数据 您所在的位置:网站首页 matlab data数据读取 访问表中的数据

访问表中的数据

2023-05-01 00:42| 来源: 网络整理| 查看: 265

使用数值索引或 end 关键字建立索引

创建一个包含表 T 中所有变量前五行的子表。要指定所需的行和变量,请使用圆括号内数值索引。这种类型的索引类似于对数值数组进行索引。

firstRows = T(1:5,:)firstRows=5×5 table Age Height Weight Smoker SelfAssessedHealthStatus ___ ______ ______ ______ ________________________ Smith 38 71 176 true Excellent Johnson 43 69 163 false Fair Williams 38 64 131 false Good Jones 40 67 133 false Fair Brown 49 64 119 false Good

您还可以使用 end 关键字来表示最后一行或最后一个变量。使用 end 关键字对表的最后五行进行索引。

lastRows = T(end-4:end,:)lastRows=5×5 table Age Height Weight Smoker SelfAssessedHealthStatus ___ ______ ______ ______ ________________________ Alexander 25 69 171 true Good Russell 44 69 188 true Good Griffin 49 70 186 false Fair Diaz 45 68 172 true Good Hayes 48 66 177 false Fair

除了数值索引,您还可以在圆括号中使用行或变量名称。(在本例中,使用行索引和冒号比使用行或变量名称更紧凑。)

使用名称建立索引

选择姓氏为 Griffin、Diaz 和 Hayes 的患者的所有数据。由于 T 中的行名称是患者的姓氏,请使用行名称对 T 进行索引。

rowsByName = T(["Griffin","Diaz","Hayes"],:)rowsByName=3×5 table Age Height Weight Smoker SelfAssessedHealthStatus ___ ______ ______ ______ ________________________ Griffin 49 70 186 false Fair Diaz 45 68 172 true Good Hayes 48 66 177 false Fair

您也可以按名称选择变量。创建一个表,其中只包含 T 中 Height 和 Weight 变量的前五行。显示该表。

variablesByName = T(1:5,["Height","Weight"])variablesByName=5×2 table Height Weight ______ ______ Smith 71 176 Johnson 69 163 Williams 64 131 Jones 67 133 Brown 64 119

表变量名称不必是有效的 MATLAB® 标识符。它们可以包括空格和非 ASCII 字符,并且可以由任何字符开头。

例如,使用 renamevars 函数重命名 SelfAssessedHealthStatus 变量。添加空格和短横线,使变量名称更易读。然后使用变量名称对 T 进行索引。

T = renamevars(T,"SelfAssessedHealthStatus","Self-Assessed Health Status"); T(1:5,["Age","Smoker","Self-Assessed Health Status"])ans=5×3 table Age Smoker Self-Assessed Health Status ___ ______ ___________________________ Smith 38 true Excellent Johnson 43 false Fair Williams 38 false Good Jones 40 false Fair Brown 49 false Good

使用模式指定行名称或变量名称

当您指定表行名称或变量名称时,您可以使用定义文本匹配规则的模式。例如,您可以匹配以 "Var" 开头后跟任意数字的变量名称。您可以使用 pattern 对象、字符串和运算符构建模式表达式。

例如,按行名称对 T 进行索引以查找患者姓氏以字母 G 开头的所有行。要匹配 G 后的任何字母,请使用 wildcardPattern 函数。

beginsWithG = "G" + wildcardPatternbeginsWithG = pattern Matching: "G" + wildcardPattern T(beginsWithG,:)ans=6×5 table Age Height Weight Smoker Self-Assessed Health Status ___ ______ ______ ______ ___________________________ Garcia 27 69 131 true Fair Green 44 71 193 false Good Gonzalez 35 66 118 false Fair Gray 31 64 130 false Excellent Gonzales 48 71 174 false Good Griffin 49 70 186 false Fair

按变量名称对 T 进行索引以查找名称中包含 Status 的任何名称。

containsStatus = wildcardPattern + "Status" + wildcardPattern; T(1:5,containsStatus)ans=5×1 table Self-Assessed Health Status ___________________________ Smith Excellent Johnson Fair Williams Good Jones Fair Brown Good

按变量的数据类型进行索引

除使用名称或编号指定变量外,您还可以创建一个数据类型下标来匹配具有相同数据类型的所有变量。

首先,通过使用 vartype 函数创建一个数据类型下标来匹配数值表变量。

subscriptObject = vartype("numeric")subscriptObject = table vartype subscript: Select table variables matching the type 'numeric' See Access Data in a Table.

创建一个只包含 T 中数值变量的表。Smoker 变量是逻辑变量,Self-Assessed Health Status 是 categorical 变量,因此它们被排除在外。

onlyNumericVariables = T(:,subscriptObject)onlyNumericVariables=100×3 table Age Height Weight ___ ______ ______ Smith 38 71 176 Johnson 43 69 163 Williams 38 64 131 Jones 40 67 133 Brown 49 64 119 Davis 46 68 142 Miller 33 64 142 Wilson 40 68 180 Moore 28 68 183 Taylor 31 66 132 Anderson 45 68 128 Thomas 42 66 137 Jackson 25 71 174 White 39 72 202 Harris 36 65 129 Martin 48 71 181 ⋮


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有